#include <REGX52.H>

//第一遍自己学的
/*void Timer0_Init()  //定时器0
{
	//TMOD=0x01;  // 0000 0001 ->GATE  C/_T M1 M2  配置工作模式寄存器
	TMOD=TMOD&0xF0;  //把TMOD的低四位都清零 高四位默认不变  寄存器是从右到左 0-7
	TMOD=TMOD|0x01;  //把TMOD的低四位中的 M2->1   0000 0001  
	//这样的好处是操作其中的某些位，而不影响其他位
	//TCON
	TF0=0;      //一旦等于1就产生中断
	TR0=1;     //T0定时器是否开启
	TH0=64535/256;	//取出高八位   64535(10)->48F6(16)->取高八位->/16
	TL0=64535%256;	//取出低八位
	
	ET0=1;  //中断打开
	EA=1;   
	PT0=0;
}*/

//软件自动生成
void Timer0Init(void)		//1000微秒@12.000MHz
{
	//AUXR &= 0x7F;		//定时器时钟12T模式
	TMOD &= 0xF0;		//设置定时器模式
	TMOD |= 0x01;		//设置定时器模式
	TL0 = 0x18;		//设置定时初值
	TH0 = 0xFC;		//设置定时初值   64535/256 ->252 ->FC
	TF0 = 0;		//清除TF0标志
	TR0 = 1;		//定时器0开始计时
	
	ET0=1;  //中断打开
	EA=1;   
	PT0=0;
}